package com.yiren.dbaa.module.practice_set.map.contract;

import android.content.Context;
import android.widget.TextView;

import com.yiren.backstage.currency.entity.LineInfoEntity;
import com.yiren.backstage.currency.entity.MapEntity;
import com.yiren.dbaa.currency.api.CommonCallBack;

import java.util.List;

/**
 * @author lwb
 * @date : 2022/11/29 15:28
 * @description: 地图管理
 */
public interface MapManageContract {

    interface Presenter {
        /**
         * 修改用户范围
         *
         * @param range
         */
        void changeUserRange(View view, MapEntity map, int range);

        /**
         * 获取地图下绑定的线路列表
         *
         * @param mapId
         * @param view
         */
        void getMapBindLines(String mapId, View view);

        /**
         * 获取线路列表
         *
         * @param userId
         * @param siteCode
         * @return
         */
        void getLineList(String userId, String siteCode, CommonCallBack callBack);

        /**
         * 绑定线路
         *
         * @param map
         */
        void bindLinesToMap(MapEntity map);
    }

    interface Model {

        /**
         * 更新用户范围
         *
         * @param useRange
         * @param callBack
         */
        void updateUserRange(String userId, MapEntity map, int useRange, CommonCallBack callBack);

        /**
         * 获取地图下绑定的线路集合
         *
         * @param mapId    地图id
         * @param callBack
         */
        void getMapBindLines(String mapId, CommonCallBack callBack);

        /**
         * 更新用户范围本地数据库
         *
         * @param map
         * @param range
         */
        void updateUserRangeLoacl(MapEntity map, int range);

    }

    interface View {

        /**
         * 更新用户使用范围
         *
         * @param range
         */
        void updateUseRange(int range);

        /**
         * 设置地图绑定线路信息
         *
         * @param lines
         */
        void setMapBindLines(List<LineInfoEntity> lines);
    }


}
